A rendering of a page, such as a web page, on a computing device involves generating a document object model (DOM) tree of the page. The DOM tree defines one or more nodes in child-parent relationships, including properties and/or attributes of the respective DOM node and the webpage's style attributes. When a page is launched, the page's .html files are read from the network or from a local disk cache, parsed, and a DOM tree is constructed. Then embedded in/or external cascading style sheets (CSS) may be applied to compute a style for each node in the DOM tree. Once the tree is “styled”, a layout algorithm runs to compute the positions and sizes of all DOM elements on the screen. With this information, the browser is able to display the page. These operations may be performed every time a page is loaded, which takes a significant amount of time, thereby leading to a less than satisfactory user experience.
Moreover, this amount of time is exacerbated in a resource-constrained environment, such as a mobile computing device, e.g. a mobile phone, personal digital assistant (PDA) or other relatively small, portable devices having relatively limited processing capability, memory, and/or communications throughput when compared to a non-mobile computing device. Thus, the user experience suffers even more with a mobile computing device.